package thread;

/**
 * 多线程用于并发执行多个任务
 * 多线程的创建方式有两种:
 * 1.继承thread并重写run方法
 */
public class ThreadDemo1  {
    public static void main(String[] args) {
        Thread t1=new MyThread1();
        Thread t2=new MyThread2();
        t1.start();
        t2.start();
    }
}

/**
 * 第一种创建线程的方式优点是结构简单,适合使用匿名内部类形式创建
 * 缺点:
 * 1.由于java是单继承的,这导致如果继承了Thread就无法在继承其他类了,实际开发中很不方便
 * 2.定义线程的同时,重写了run方法将线程的任务定义在了线程中
 * 导致线程与任务存在一个必然的耦合关系,不利于线程的重用
 */
class MyThread1 extends Thread{
    public void run(){
        for (int i = 0; i <1000 ; i++) {
            System.out.println("WHO R U?");
        }
    }
}

class MyThread2 extends Thread{
    public void run(){
        for (int i = 0; i <1000 ; i++) {
            System.out.println("bitch!");
        }
    }
}
